package com.yjt.admin.system.vo.org;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.yjt.common.entity.TreeNode;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import java.util.List;

/**
 * <p>
 * 组织表
 * </p>
 *
 * @author zzp
 * @since 2021-10-09
 */
@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
public class OrgVO extends TreeNode {

    private static final long serialVersionUID = 1L;
    /**
     * 通用
     */
    @ApiModelProperty(value = "组织id,新增不用传")
    private String orgId;

    @ApiModelProperty(value = "组织名称")
    private String orgName;

    @ApiModelProperty(value = "排序")
    private Integer sort;

    @ApiModelProperty(value = "公司logo")
    private String orgLogo;

    @ApiModelProperty(value = "主题id")
    private String subjeId;

    @ApiModelProperty(value = "主题名称")
    private String subjeName;

    @ApiModelProperty(value = "组织类型(1组织2公司3部门)")
    private Integer orgType;

    @ApiModelProperty(value = "组织领导id集合---逗号拼接")
    private String orgLeaderIds;

    @ApiModelProperty(value = "组织领导名称集合---逗号拼接")
    private String orgLeaderNames;

    @ApiModelProperty(value = "组织领导id集合")
    private List<String> orgLeaderIdList;

    @ApiModelProperty(value = "组织领导名称集合")
    private List<String> orgLeaderNameList;

    /**
     *  公司和部门
     */
    @ApiModelProperty(value = "上级组织id")
    private String superOrgId;

    @ApiModelProperty(value = "上级组织名称")
    private String superOrgName;

    @ApiModelProperty(value = "组织上级领导id集合---逗号拼接")
    private String orgSuperLeaderIds;

    @ApiModelProperty(value = "组织上级领导名称集合---逗号拼接")
    private String orgSuperLeaderNames;

    @ApiModelProperty(value = "组织上级领导id集合")
    private List<String> orgSuperLeaderIdList;

    @ApiModelProperty(value = "组织上级领导名称集合")
    private List<String> orgSuperLeaderNameList;

    /**
     *  公司和集团使用
     */
    @ApiModelProperty(value = "nginx地址")
    private String nginxPath;

    /**
     * 后台处理使用
     */
    @ApiModelProperty(value = "上级所有组织信息",hidden = true)
    private List<OrgVO> superOrgList;
}
